﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace MVC4WPF.Automation.Data
{
    /// <summary>
    /// The definition information used to generate a controller.
    /// </summary>
    [Serializable()]
    public class ControllerDefinition
    {
        /// <summary>
        /// The name of the controller 
        /// </summary>
        public string Name { get; set; }

        /// <summary>
        /// Namespace for the controller itself
        /// </summary>
        public string Namespace { get; set; }

        /// <summary>
        /// The type of view this contract supports
        /// </summary>
        public ViewTypes SupportingViewType { get; set; }

        /// <summary>
        /// The contract information for the view supported by this controller
        /// </summary>
        public ContractInformation ViewContract { get; set; }

        /// <summary>
        /// The child controller contract implemented by this controller.
        /// </summary>
        public ContractInformation ControllerContract { get; set; }
    }
}
